查看原文
其他

Linux大人养成计划1---基础命令总结

小秋 苦逼的码农 2019-01-22

点击上方👆👆关注我


误区

刷了一波视频,现在把Linux的一些常用基本命令总结了下。学会这些,Linux的基本操作就会了。

涉及到的命令:

1.命令提示符的含义

2.命令格式

3.基本命令

4.常见目录的作用

5.文件搜索

6.帮助命令

7.文件压缩

8.开关机命令

9.挂载

10.查看登陆操作信息

11.Shell基础

12.Bash的基本功能



1.命令提示符的含义


[root@localhost ~]#

其中:

root: 当前用户

localhost 主机名

 ~    当前所在目录(家目录)

#     超级用户的提示符

$     普通用户的提示符


2.命令格式

 命令  [选项]  [参数]     注意:当有多个参数时,可以写在一起


3.基本命令

(1). ls    用来列出该目录下的所有目录和文件

 ls   [选项]     [文件或目录]

选项:

-a   显示所有文件,包括隐藏文件

-l    显示详细信息

-d   查看目录属性

-h   人性化显示文件大小(例如以k显示,而不是字节)


(2).cd   进入某个目录

cd  [目录]    

英文原意: change directory

以下是一些快捷操作

cd ~     进入当前用户的家目录

cd      进入当前用户的家目录

cd -    进入上次目录

cd ..   进入上级目录

cd .    进入当前目录

(3).rmdir   删除空目录(remove empty directions)

 rmdir [目录名]


(4).rm    删除目录或文件

 rm –rf [文件或目录]

命令英文愿意:remove

选项:

-r    删除目录

-f    强制

(5).cp    复制文件或目录

 cp [选项] [原文件或目录] [目标目录]

原意:copy

选项:

-r    复制目录

-p   连带文件属性复制

-d   若源文件是链接文件,则复制复制链属性

-a   相当于 –pdr


(5).mv    移动或剪切

mv [原文件或目录] [目标目录]

原意:move

操作都差不多,可以自己自行多实践下,我就贴图了


(6).cat   查看文件内容

cat 文件


(7).vi   编辑文件内容

vi 文件   

注:进入后按'i'进行编辑插入,如果要退出的话,先按ESC键,然后输入

:q   表示退出,但文件必须没修改过才可以

:wq  修改并且退出

:q! 强制退出


4.常见目录的作用

/根目录

/bin命令保护目录(普通用户就可以读取的命令)

/boot启动目录,启动相关文件

/dev设备文件保护目录

/etc配置文件保护目录

/home普通用户的家目录

/lib系统库保护目录

/mnt系统挂载目录

/root超级用户的家目录

/tmp临时目录

/sbin命令保护目录(超级用户才能使用的目录)

/pro直接写入内存的(不能随便动)

/sys

/usr系统软件资源目录

    /usr/bin/系统命令(普通用户)

    /usr/sbin/系统命令(超级用户)

/var系统相关的文档内容

可以在root, home和tmp随便放内容,其他目录最后不要随便放东西


5.文件搜索

(1).locate 文件名

在后台数据库中按文件名搜索,速度很快不过需要更新数据库:updatedb

如果不人为更新的话,系统大概24小时更新一次

/etc/updatedb.conf配置文件,例如配置只搜索那些目录等


(2).find [搜索范围] [搜索文件]

例如

 1). find / -name instal.log 表示从根目录搜索名为instal.log的文件

通配符:

*      匹配任何内容

?     匹配任意一个字符

[]     匹配任意一个中括号内的字符


2). find /root –iname install.log

从root目录不区分大小写搜索


 3). find /root –user root

按照所有者搜索(就是说这个文件是属于所有者的)


 4). find /root –nouser

查找没有所有者的文件(这样的文件一般是垃圾文件,或者内湖文件,或者外部文件)


 5). find /root –mtime +10/10/-10

查找10前/10当天/10内修改的文件

atime     文件访问时间

ctime      改变文件属性

mtime    修改文件内容


 6). find  /root –size +10/10/-10

按文件大小来查找  大于/等于/小于10(记得指定单位)


 7). find /root inum 1243

按照id节点来查找


 8). find /root –size +10k –a –size -20k

可以多个条件组合来查找   大于10k且小于20k

(-a相当于and语句,即‘与’语句)


 9). find /root –size +10k –exec ls –lh {} \

多条命令组合处理    

-exec/ -ok 命令{}\   对搜索结果执行操作



(3).grep [选项] 字符串  文件名

在文件当中匹配符合条件的字符串

选项:

-i    忽略大小写

-v    排除指定字符串


6.帮助命令

1.man

(1).man–f 命令    ----查看命令的功能   相当于whatis命令

(2).man –级别(1,2,3…) 命令----查看命令拥有那个级别的帮助

注:一个相同的命令有很多中级别,如下图

举例:man -5 passed;   man -8 ifconfig等

(3).man–k 命令   ----查看和命令相关的所有帮助,相当于  apropos 命令

 

2.help

(1).命令--help      -----获取命令选项的帮助        例如:ls --help

注:不过只能操作外部命令,像cd这个内核命令,则不可以 cd --help


(2)help shell内部命令  ---获取shell内部命令的帮助, 只能获取内部命令

可以通过whereis 命令----来查看是否是内部命令

放在/bin/ 目录的一般不是内部命令

例:help cd  ---获取cd命令的帮助


(3).info命令 ------详细命令帮助。进入该命令后可以执行以下操作

回车:进入子帮助页面(带有*号标记)

u   : 进入上层页面

n   : 进入下一个帮助小节

p   : 进入上一个帮助小节

q    : 退出



7.文件压缩

常用的压缩格式有

.zip    .gz   .bz2

.tar.gz  .tar.bz2

(1).zip格式压缩与解压缩

zip 压缩文件名 源文件 ---压缩文件

zip–r 压缩文件名 源目录 ---压缩目录

 

unzip 压缩文件  ---解压缩.zip文件

(2).gz格式压缩与解压

gzip 源文件  ---压缩为.gz格式文件,源文件会消失

gzip –c 源文件 > 压缩文件 ---压缩为gz格式,源文件保留

例如:gzip –c test > test.gz

gzip –r 目录 ---压缩该目录下的所有子文件,但不能压缩目录

 

gzip–d 压缩文件  ---解压缩

gunzip 压缩文件  ---解压缩


(3).bz2格式压缩与解压

bzip2 源文件    ------压缩为.bz2格式,不保留源文件

bzip2 –k 源文件  ------压缩后保留源文件

注:bzip2命令不能压缩目录


(4).打包命令tar与解打包  (可以解决目录不能压缩问题,可以先打包,再压缩来解决)

tar–cvf 打包文件名 源文件  ---把文件打包为.tar格式文件

 选项参数:

 -c  :   打包

-v   :   显示过程

-f   :    指定打包后的文件名

 

tar–xvf 打包文件名  ---解打包

选项参数

-x  :   解打包


(5).tar.gz压缩格式与解压

注:其实tar.gz格式是先打包成.tar格式,再压缩为.gz格式的

tar–zcvf 压缩包名 源文件

选项参数:

 -z :  压缩为.tar.gz格式

 tar–zxvf 压缩包  ---解压.tar.gz格式的文件

选项参数:

 -x  :   解压缩.tar.gz格式



8.开关机命令

 (1).shutdown命令

shutdown[选项] 时间

选项:

-c  :   取消前一个关机命令

-h :    关机

-r :  重启

(2).其他关机命令

halt

poweroff 强行关掉电源的意思

init0      调用0号的系统运行级别

reboot   重启

init  6    重启 调用6号运行级别

注:系统运行级别如下所示

0     关机

1     单用户

2     不完全多用户,不含NFS服务

3     完全多用户(默认级别)

4     未分配

5     图形界面

6     重启

(3).如果要修改系统默认级别,可以在/etc/inittab这个文件里改

(4).runlevel    查看系统运行哪个级别

(5).logout      退出登陆命令



9.挂载

(1).mount  查询系统中已经挂载的设备

(2).mount–a  依据配置文件/etc/fstab的内容,自动挂载

(3).挂载命令格式(如下图)

   

  


以下做一个挂载光盘的步骤

1).mkdir/mnt/cdrom/  建立挂载点

2).mount–t iso9960 /dev/cdrom  /mnt/cdrom   挂载光盘到指定位置


(4).卸载命令

umount设备文件名或挂载点

例如卸载刚才挂载的那个:umount /mnt/cdrom

(5).挂载U盘

fdisk–l    查看U盘设备文件名

挂载例子:mount –t vfat /dev/sdb1 /mnt/usb/



10.查看登陆操作信息

(1).w 用户名  查看登陆用户信息

(2).who用户名    查看登陆用户信息

    命令输出:

-       用户名

-       登陆终端

-       登陆时间(登陆来源IP地址)

(3).last    查询当前登陆和过去登陆的用户信息

命令默认读取/var/log/wtmp文件数据

命令输出:

-       用户名

-       登陆终端

-       登陆IP

-       登陆时间

-       退出时间(在线时间)

(4).lastlog      查看所有用户的最后一次登陆时间

命令默认读取/var/log/lastlog文件内容

命令输出:

-       用户名

-       登陆终端

-       登陆IP

-       最后一次登陆时间



Shell基础

1.shell是什么?

(1).shell是一个命令解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止甚至编写一些程序。例如我们平时在屏幕上打的字符命令等,计算机其实是无法识别的,计算机只能识别二进制指令。所以我们可以shell来解释运行

(2).shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性强。shell是解释执行的脚本语言,在shell中可以直接调用Linux系统命令

 

2.shell的分类

Bourne Shell:主文件名为sh

C Shell:语法和C有点相似


3.echo输出命令

echo [选项] [输出内容]  --把内容输出到屏幕上

选项参数:

-e  :  支持反斜杠控制字符转

反斜杠下的控制字符:

\a   :   输出警告

\b   :   退格键,也就是向左删除键

\n   :   换行符

\r   :    回车键

\t   :    制表符,也就是Tab键

\v   :   垂直制表符

\0nnn:  按照八进制ASCII码表输出字符

\xhh :   按照十六进制ASCLL码表输出字符

例子:echo -e “I love you”         

屏幕上对应输出“I love you”


如何输出有颜色的字符:

echo -e “\e[1;31m I loveyou \e[0m”     

屏幕上输出有颜色的”I love you”

#颜色表:

30m=黑色    31m=红色   

32m=绿色    33m=黄色

34m=蓝色    35m=洋红   

36m=青色    37m=白色

 解析

\e[1:31m   开启颜色显示

\E[0m   关闭颜色显示

 

4.编写第一个脚本

(1).创建一个文件  vi hello.sh 下面是文件的内容

#!/bin/bash   (这一行必须加,不加也可能可以正常运行,但遇到有些命令会出错)

#The first program(‘#‘表示注释)

echo –e “\e;31m I love you \e[0m


(2).执行脚本

1).赋予执行权限

chmod 755 hello.sh

./hello.sh

输出结果:

2).通过Bash调用执行脚本

bash hello.sh

输出结果与上面的一样



Bash的基本功能

1.查看与设定别名

使用别名可以减少我们的工作量等。例如一个指令的名字很长等,我们可以给它命令一个自己喜欢的名字。


(1).alias   查看系统中所有指令的别名

alias别名=’原命令’  ---  设定命令别名

不过这样设置的别名,只是临时有效的,系统重启之后,设置的别名就会失效了


(2).别名永久生效与删除别名

1).vi~/.bashrc  ---  把别名写入环境变量配置文件中,这样就永久有效。

2).unalias 别名 ---   删除别名

对于一个指令,它可以是一个别名,别名可能是临时设置的,和系统环境变量的配置文件不一样,那他们的生效顺序?


(3).别名的生效顺序

第一顺位执行用绝对路径或相对路径执行的命令

第二顺位执行别名

第三顺位执行Bash的内部命令

第四顺位执行按照$PATH环境变量的目录查找顺序找到的第一命令


2.常用快捷键

ctrl+ c   强制终止当前命令

ctrl+ l    清屏

ctrl+ a    光标移动到命令行首

ctrl+ e    光标移动到命令行尾

ctrl+ u    从光标所在位置删除到行首

ctrl+ z    把命令放入后台

ctrl+ r    在历史命令中搜索


3.历史命令

(1).history[选项] [历史命令保存文件] 

选项参数:

-c   :  清空历史命令

-w  :   把缓存中的历史命令写入历史保存文件

注: 自带历史保存文件名:~/.bash_history


(2).历史命令的调用

 使用上下箭头调用以前的历史命令

使用”!n”重复执行第n条历史命令

使用”!!”重复执行上一条命令

使用”!字符串”重复执行最后一条以该字符串开头的命令

 

4.重定向

例如当我们执行 cat test.txt 命令时,该命令会把test.txt里面的内容输出到屏幕上,但如果我们希望它把结果输出到某个文件上,而不是屏幕,就可以采用重定向,把内容重定向到文件上,如:cat test.txt > content.txt, 把内容输出到content.txt中。

 

请看一下一系列图片



(1).输出重定向

错误输出:就是执行了一条错误的执行,不存在的命令

在执行指令的时候,我们一般都觉得是没问题的,也就是说

      错误指令 2>文件

     错误命令2>>文件

这样的命令用处不大,因为需要事先知道命令错了,都事先知道错了,那当然会改过来勒。下面的命令可以同时处理正确和错误的命令:


(2).输入重定向

wc[选项] [文件名]

选项参数:

-c  :  统计字节数

-w :  统计单词数

-l   :  统计行数

命令< 文件  把文件作为命令输入

命令<< 标识符   从键盘输入字符,直到遇到与标识符一样的字符串才结束


(3).多命令顺序执行


5.管道符

命令格式:命令1 | 命令2 --把命令1的正确输出结果作为命令2的操作对象

 

6.通配符


7.其他特殊符号



如果对你有所帮助,那就,点个赞呗

后续会写

Linux的网络配置管理

shell简单脚本编写


欢迎关注我的公众号:苦逼的码农

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存